package br.fatecsp.ihc.pedidos.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "produtos")
@NamedQueries( { @NamedQuery(name = "Produto.findAll", query = "SELECT p FROM Produto p") })
public class Produto implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "id_produto")
    private Long id;

    @ManyToOne
    @JoinColumn(name = "cod_tipo_produto")
    private TipoProduto tipoProduto;

    @Column(name = "nome_produto")
    private String nome;

    @Column(name = "preco_unit_produto")
    private BigDecimal precoUnitario;

    @OneToMany(mappedBy = "produto")
    private Set<ItemPedido> itensPedido;

    public Produto() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public TipoProduto getTipoProduto() {
        return tipoProduto;
    }

    public void setTipoProduto(TipoProduto tipoProduto) {
        this.tipoProduto = tipoProduto;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public BigDecimal getPrecoUnitario() {
        return precoUnitario;
    }

    public void setPrecoUnitario(BigDecimal precoUnitario) {
        this.precoUnitario = precoUnitario;
    }

    public Set<ItemPedido> getItensPedido() {
        return itensPedido;
    }

    public void setItensPedido(Set<ItemPedido> itensPedido) {
        this.itensPedido = itensPedido;
    }

}